export default defineEventHandler(async (event) => {
  const sourceData = await $fetch('/api/product',{
    method:'GET'
  })

  // 1. 按type分组，使用Map存储（key为type，value为该type对应的结构）
  const typeMap = new Map();

  sourceData.forEach(item => {
    const { type, drawingNo, steps } = item;
    
    // 2. 处理二级节点（drawingNo）
    const childNode = {
      label: drawingNo,
      value: drawingNo,
      children: steps.map(step => ({
        label: `${step.seq} ${step.name}`,
        value: step.seq
      }))
    };
    
    // 3. 若type已存在，直接添加到children；否则创建新的顶级节点
    if (typeMap.has(type)) {
      typeMap.get(type).children.push(childNode);
    } else {
      typeMap.set(type, {
        label: type,
        value: type,
        children: [childNode] // 初始children数组包含当前二级节点
      });
    }
  });

  // 4. 将Map的值转换为最终数组
  const result = Array.from(typeMap.values());

  // 5. 返回结果
  return result
})
